package com.ruoyi.evalution.service;

import java.util.List;
import com.ruoyi.evalution.domain.LabEvalutionTarget;
import com.ruoyi.evalution.dto.UserScoreDto;

/**
 * 评试对象Service接口
 * 
 * @author winner pan
 * @date 2022-04-15
 */
public interface ILabEvalutionTargetService 
{
    /**
     * 查询评试对象
     * 
     * @param participatorId 评试对象ID
     * @return 评试对象
     */
    public LabEvalutionTarget selectLabEvalutionTargetById(Long participatorId);

    /**
     * 查询评试对象列表
     * 
     * @param labEvalutionTarget 评试对象
     * @return 评试对象集合
     */
    public List<LabEvalutionTarget> selectLabEvalutionTargetList(LabEvalutionTarget labEvalutionTarget);

    /**
     * 新增评试对象
     * 
     * @param labEvalutionTarget 评试对象
     * @return 结果
     */
    public int insertLabEvalutionTarget(LabEvalutionTarget labEvalutionTarget);

    /**
     * 修改评试对象
     * 
     * @param labEvalutionTarget 评试对象
     * @return 结果
     */
    public int updateLabEvalutionTarget(LabEvalutionTarget labEvalutionTarget);


    /**
     * 删除评试对象信息
     * 
     * @param participatorId 评试对象ID
     * @return 结果
     */
    public int deleteLabEvalutionTargetById(Long participatorId);
    
    public int deleteLabEvalutionTargetByEvalution(Long evalutionId);
    /**
     * 评分操作.
     * @param labEvalutionTarget
     * @return
     */
    public int scoreRecord(LabEvalutionTarget labEvalutionTarget);
    
    List<LabEvalutionTarget> selectReportHisList(LabEvalutionTarget labEvalutionTarget);
    
    List<LabEvalutionTarget> selectMarkScoreList(LabEvalutionTarget labEvalutionTarget);
    
    public LabEvalutionTarget selectLabEvalutionTargetScoreById(Long participatorId, String userName);
    
    List<UserScoreDto> exportLabEvalutionTargetList(Long instanceId);
}
